package org.maverick.persistence;

import java.util.List;

import org.maverick.persistence.filter.QueryFilter;

@SuppressWarnings("rawtypes")
public interface DAO<T> {

	public void save(T entity);
	
	public void remove(T entity);
	
	public T getEntity(Long id);
	
	public T getEntity(Class entityClass, Long id);
	
	public Long count();
	
	public List<T> find();
	
	public Long count(QueryFilter queryFilter);
	
	public List<T> find(QueryFilter queryFilter);
	
}